using Google.ProtocolBuffers;
using micromsg.Proto;
using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using System.IO;
using System.Runtime.CompilerServices;
namespace micromsg
{
	[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
	public sealed class PossibleFriend : GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>
	{
		[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
		public sealed class Builder : GeneratedBuilderLite<PossibleFriend, PossibleFriend.Builder>
		{
			private bool resultIsReadOnly;
			private PossibleFriend result;
			protected override PossibleFriend.Builder ThisBuilder
			{
				get
				{
					return this;
				}
			}
			public override bool IsInitialized
			{
				get
				{
					return this.result.IsInitialized;
				}
			}
			protected override PossibleFriend MessageBeingBuilt
			{
				get
				{
					return this.PrepareBuilder();
				}
			}
			public override PossibleFriend DefaultInstanceForType
			{
				get
				{
					return PossibleFriend.DefaultInstance;
				}
			}
			public string UserName
			{
				get
				{
					return this.result.UserName;
				}
				set
				{
					this.SetUserName(value);
				}
			}
			public string NickName
			{
				get
				{
					return this.result.NickName;
				}
				set
				{
					this.SetNickName(value);
				}
			}
			public string PYInitial
			{
				get
				{
					return this.result.PYInitial;
				}
				set
				{
					this.SetPYInitial(value);
				}
			}
			public string QuanPin
			{
				get
				{
					return this.result.QuanPin;
				}
				set
				{
					this.SetQuanPin(value);
				}
			}
			public int Sex
			{
				get
				{
					return this.result.Sex;
				}
				set
				{
					this.SetSex(value);
				}
			}
			public uint ImgFlag
			{
				get
				{
					return this.result.ImgFlag;
				}
				set
				{
					this.SetImgFlag(value);
				}
			}
			public uint ContactType
			{
				get
				{
					return this.result.ContactType;
				}
				set
				{
					this.SetContactType(value);
				}
			}
			public string DomainList
			{
				get
				{
					return this.result.DomainList;
				}
				set
				{
					this.SetDomainList(value);
				}
			}
			public string Source
			{
				get
				{
					return this.result.Source;
				}
				set
				{
					this.SetSource(value);
				}
			}
			public uint FriendScene
			{
				get
				{
					return this.result.FriendScene;
				}
				set
				{
					this.SetFriendScene(value);
				}
			}
			public string Mobile
			{
				get
				{
					return this.result.Mobile;
				}
				set
				{
					this.SetMobile(value);
				}
			}
			public Builder()
			{
				this.result = PossibleFriend.DefaultInstance;
				this.resultIsReadOnly = true;
			}
			internal Builder(PossibleFriend cloneFrom)
			{
				this.result = cloneFrom;
				this.resultIsReadOnly = true;
			}
			private PossibleFriend PrepareBuilder()
			{
				if (this.resultIsReadOnly)
				{
					PossibleFriend other = this.result;
					this.result = new PossibleFriend();
					this.resultIsReadOnly = false;
					this.MergeFrom(other);
				}
				return this.result;
			}
			public override PossibleFriend.Builder Clear()
			{
				this.result = PossibleFriend.DefaultInstance;
				this.resultIsReadOnly = true;
				return this;
			}
			public override PossibleFriend.Builder Clone()
			{
				if (this.resultIsReadOnly)
				{
					return new PossibleFriend.Builder(this.result);
				}
				return new PossibleFriend.Builder().MergeFrom(this.result);
			}
			public override PossibleFriend BuildPartial()
			{
				if (this.resultIsReadOnly)
				{
					return this.result;
				}
				this.resultIsReadOnly = true;
				return this.result.MakeReadOnly();
			}
			public override PossibleFriend.Builder MergeFrom(IMessageLite other)
			{
				if (other is PossibleFriend)
				{
					return this.MergeFrom((PossibleFriend)other);
				}
				base.MergeFrom(other);
				return this;
			}
			public override PossibleFriend.Builder MergeFrom(PossibleFriend other)
			{
				return this;
			}
			public override PossibleFriend.Builder MergeFrom(ICodedInputStream input)
			{
				return this.MergeFrom(input, ExtensionRegistry.Empty);
			}
			public override PossibleFriend.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
			{
				this.PrepareBuilder();
				uint num;
				string text;
				while (input.ReadTag(out num, out text))
				{
					if (num == 0u && text != null)
					{
						int num2 = Array.BinarySearch<string>(PossibleFriend._possibleFriendFieldNames, text, StringComparer.get_Ordinal());
						if (num2 < 0)
						{
							this.ParseUnknownField(input, extensionRegistry, num, text);
							continue;
						}
						num = PossibleFriend._possibleFriendFieldTags[num2];
					}
					uint num3 = num;
					if (num3 <= 40u)
					{
						if (num3 <= 18u)
						{
							if (num3 == 0u)
							{
								throw InvalidProtocolBufferException.InvalidTag();
							}
							if (num3 == 10u)
							{
								this.result.hasUserName = input.ReadString(ref this.result.userName_);
								continue;
							}
							if (num3 == 18u)
							{
								this.result.hasNickName = input.ReadString(ref this.result.nickName_);
								continue;
							}
						}
						else
						{
							if (num3 == 26u)
							{
								this.result.hasPYInitial = input.ReadString(ref this.result.pYInitial_);
								continue;
							}
							if (num3 == 34u)
							{
								this.result.hasQuanPin = input.ReadString(ref this.result.quanPin_);
								continue;
							}
							if (num3 == 40u)
							{
								this.result.hasSex = input.ReadInt32(ref this.result.sex_);
								continue;
							}
						}
					}
					else
					{
						if (num3 <= 66u)
						{
							if (num3 == 48u)
							{
								this.result.hasImgFlag = input.ReadUInt32(ref this.result.imgFlag_);
								continue;
							}
							if (num3 == 56u)
							{
								this.result.hasContactType = input.ReadUInt32(ref this.result.contactType_);
								continue;
							}
							if (num3 == 66u)
							{
								this.result.hasDomainList = input.ReadString(ref this.result.domainList_);
								continue;
							}
						}
						else
						{
							if (num3 == 74u)
							{
								this.result.hasSource = input.ReadString(ref this.result.source_);
								continue;
							}
							if (num3 == 80u)
							{
								this.result.hasFriendScene = input.ReadUInt32(ref this.result.friendScene_);
								continue;
							}
							if (num3 == 90u)
							{
								this.result.hasMobile = input.ReadString(ref this.result.mobile_);
								continue;
							}
						}
					}
					if (WireFormat.IsEndGroupTag(num))
					{
						return this;
					}
					this.ParseUnknownField(input, extensionRegistry, num, text);
				}
				return this;
			}
			public PossibleFriend.Builder SetUserName(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasUserName = true;
				this.result.userName_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearUserName()
			{
				this.PrepareBuilder();
				this.result.hasUserName = false;
				this.result.userName_ = "";
				return this;
			}
			public PossibleFriend.Builder SetNickName(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasNickName = true;
				this.result.nickName_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearNickName()
			{
				this.PrepareBuilder();
				this.result.hasNickName = false;
				this.result.nickName_ = "";
				return this;
			}
			public PossibleFriend.Builder SetPYInitial(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasPYInitial = true;
				this.result.pYInitial_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearPYInitial()
			{
				this.PrepareBuilder();
				this.result.hasPYInitial = false;
				this.result.pYInitial_ = "";
				return this;
			}
			public PossibleFriend.Builder SetQuanPin(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasQuanPin = true;
				this.result.quanPin_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearQuanPin()
			{
				this.PrepareBuilder();
				this.result.hasQuanPin = false;
				this.result.quanPin_ = "";
				return this;
			}
			public PossibleFriend.Builder SetSex(int value)
			{
				this.PrepareBuilder();
				this.result.hasSex = true;
				this.result.sex_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearSex()
			{
				this.PrepareBuilder();
				this.result.hasSex = false;
				this.result.sex_ = 0;
				return this;
			}
			public PossibleFriend.Builder SetImgFlag(uint value)
			{
				this.PrepareBuilder();
				this.result.hasImgFlag = true;
				this.result.imgFlag_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearImgFlag()
			{
				this.PrepareBuilder();
				this.result.hasImgFlag = false;
				this.result.imgFlag_ = 0u;
				return this;
			}
			public PossibleFriend.Builder SetContactType(uint value)
			{
				this.PrepareBuilder();
				this.result.hasContactType = true;
				this.result.contactType_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearContactType()
			{
				this.PrepareBuilder();
				this.result.hasContactType = false;
				this.result.contactType_ = 0u;
				return this;
			}
			public PossibleFriend.Builder SetDomainList(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasDomainList = true;
				this.result.domainList_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearDomainList()
			{
				this.PrepareBuilder();
				this.result.hasDomainList = false;
				this.result.domainList_ = "";
				return this;
			}
			public PossibleFriend.Builder SetSource(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasSource = true;
				this.result.source_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearSource()
			{
				this.PrepareBuilder();
				this.result.hasSource = false;
				this.result.source_ = "";
				return this;
			}
			public PossibleFriend.Builder SetFriendScene(uint value)
			{
				this.PrepareBuilder();
				this.result.hasFriendScene = true;
				this.result.friendScene_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearFriendScene()
			{
				this.PrepareBuilder();
				this.result.hasFriendScene = false;
				this.result.friendScene_ = 0u;
				return this;
			}
			public PossibleFriend.Builder SetMobile(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasMobile = true;
				this.result.mobile_ = value;
				return this;
			}
			public PossibleFriend.Builder ClearMobile()
			{
				this.PrepareBuilder();
				this.result.hasMobile = false;
				this.result.mobile_ = "";
				return this;
			}
		}
		public const int UserNameFieldNumber = 1;
		public const int NickNameFieldNumber = 2;
		public const int PYInitialFieldNumber = 3;
		public const int QuanPinFieldNumber = 4;
		public const int SexFieldNumber = 5;
		public const int ImgFlagFieldNumber = 6;
		public const int ContactTypeFieldNumber = 7;
		public const int DomainListFieldNumber = 8;
		public const int SourceFieldNumber = 9;
		public const int FriendSceneFieldNumber = 10;
		public const int MobileFieldNumber = 11;
		private static readonly PossibleFriend defaultInstance;
		private static readonly string[] _possibleFriendFieldNames;
		private static readonly uint[] _possibleFriendFieldTags;
		private bool hasUserName;
		private string userName_ = "";
		private bool hasNickName;
		private string nickName_ = "";
		private bool hasPYInitial;
		private string pYInitial_ = "";
		private bool hasQuanPin;
		private string quanPin_ = "";
		private bool hasSex;
		private int sex_;
		private bool hasImgFlag;
		private uint imgFlag_;
		private bool hasContactType;
		private uint contactType_;
		private bool hasDomainList;
		private string domainList_ = "";
		private bool hasSource;
		private string source_ = "";
		private bool hasFriendScene;
		private uint friendScene_;
		private bool hasMobile;
		private string mobile_ = "";
		private int memoizedSerializedSize = -1;
		public static PossibleFriend DefaultInstance
		{
			get
			{
				return PossibleFriend.defaultInstance;
			}
		}
		public override PossibleFriend DefaultInstanceForType
		{
			get
			{
				return PossibleFriend.DefaultInstance;
			}
		}
		protected override PossibleFriend ThisMessage
		{
			get
			{
				return this;
			}
		}
		public string UserName
		{
			get
			{
				return this.userName_;
			}
		}
		public string NickName
		{
			get
			{
				return this.nickName_;
			}
		}
		public string PYInitial
		{
			get
			{
				return this.pYInitial_;
			}
		}
		public string QuanPin
		{
			get
			{
				return this.quanPin_;
			}
		}
		public int Sex
		{
			get
			{
				return this.sex_;
			}
		}
		public uint ImgFlag
		{
			get
			{
				return this.imgFlag_;
			}
		}
		public uint ContactType
		{
			get
			{
				return this.contactType_;
			}
		}
		public string DomainList
		{
			get
			{
				return this.domainList_;
			}
		}
		public string Source
		{
			get
			{
				return this.source_;
			}
		}
		public uint FriendScene
		{
			get
			{
				return this.friendScene_;
			}
		}
		public string Mobile
		{
			get
			{
				return this.mobile_;
			}
		}
		public override bool IsInitialized
		{
			get
			{
				return this.hasSex && this.hasImgFlag && this.hasContactType && this.hasFriendScene;
			}
		}
		public override int SerializedSize
		{
			get
			{
				int num = this.memoizedSerializedSize;
				if (num != -1)
				{
					return num;
				}
				num = 0;
				if (this.hasUserName)
				{
					num += CodedOutputStream.ComputeStringSize(1, this.UserName);
				}
				if (this.hasNickName)
				{
					num += CodedOutputStream.ComputeStringSize(2, this.NickName);
				}
				if (this.hasPYInitial)
				{
					num += CodedOutputStream.ComputeStringSize(3, this.PYInitial);
				}
				if (this.hasQuanPin)
				{
					num += CodedOutputStream.ComputeStringSize(4, this.QuanPin);
				}
				if (this.hasSex)
				{
					num += CodedOutputStream.ComputeInt32Size(5, this.Sex);
				}
				if (this.hasImgFlag)
				{
					num += CodedOutputStream.ComputeUInt32Size(6, this.ImgFlag);
				}
				if (this.hasContactType)
				{
					num += CodedOutputStream.ComputeUInt32Size(7, this.ContactType);
				}
				if (this.hasDomainList)
				{
					num += CodedOutputStream.ComputeStringSize(8, this.DomainList);
				}
				if (this.hasSource)
				{
					num += CodedOutputStream.ComputeStringSize(9, this.Source);
				}
				if (this.hasFriendScene)
				{
					num += CodedOutputStream.ComputeUInt32Size(10, this.FriendScene);
				}
				if (this.hasMobile)
				{
					num += CodedOutputStream.ComputeStringSize(11, this.Mobile);
				}
				this.memoizedSerializedSize = num;
				return num;
			}
		}
		private PossibleFriend()
		{
		}
		public override void WriteTo(ICodedOutputStream output)
		{
			int arg_06_0 = this.SerializedSize;
			string[] possibleFriendFieldNames = PossibleFriend._possibleFriendFieldNames;
			if (this.hasUserName)
			{
				output.WriteString(1, possibleFriendFieldNames[10], this.UserName);
			}
			if (this.hasNickName)
			{
				output.WriteString(2, possibleFriendFieldNames[5], this.NickName);
			}
			if (this.hasPYInitial)
			{
				output.WriteString(3, possibleFriendFieldNames[6], this.PYInitial);
			}
			if (this.hasQuanPin)
			{
				output.WriteString(4, possibleFriendFieldNames[7], this.QuanPin);
			}
			if (this.hasSex)
			{
				output.WriteInt32(5, possibleFriendFieldNames[8], this.Sex);
			}
			if (this.hasImgFlag)
			{
				output.WriteUInt32(6, possibleFriendFieldNames[3], this.ImgFlag);
			}
			if (this.hasContactType)
			{
				output.WriteUInt32(7, possibleFriendFieldNames[0], this.ContactType);
			}
			if (this.hasDomainList)
			{
				output.WriteString(8, possibleFriendFieldNames[1], this.DomainList);
			}
			if (this.hasSource)
			{
				output.WriteString(9, possibleFriendFieldNames[9], this.Source);
			}
			if (this.hasFriendScene)
			{
				output.WriteUInt32(10, possibleFriendFieldNames[2], this.FriendScene);
			}
			if (this.hasMobile)
			{
				output.WriteString(11, possibleFriendFieldNames[4], this.Mobile);
			}
		}
		public override int GetHashCode()
		{
			int num = base.GetType().GetHashCode();
			if (this.hasUserName)
			{
				num ^= this.userName_.GetHashCode();
			}
			if (this.hasNickName)
			{
				num ^= this.nickName_.GetHashCode();
			}
			if (this.hasPYInitial)
			{
				num ^= this.pYInitial_.GetHashCode();
			}
			if (this.hasQuanPin)
			{
				num ^= this.quanPin_.GetHashCode();
			}
			if (this.hasSex)
			{
				num ^= this.sex_.GetHashCode();
			}
			if (this.hasImgFlag)
			{
				num ^= this.imgFlag_.GetHashCode();
			}
			if (this.hasContactType)
			{
				num ^= this.contactType_.GetHashCode();
			}
			if (this.hasDomainList)
			{
				num ^= this.domainList_.GetHashCode();
			}
			if (this.hasSource)
			{
				num ^= this.source_.GetHashCode();
			}
			if (this.hasFriendScene)
			{
				num ^= this.friendScene_.GetHashCode();
			}
			if (this.hasMobile)
			{
				num ^= this.mobile_.GetHashCode();
			}
			return num;
		}
		public override bool Equals(object value)
		{
			PossibleFriend possibleFriend = value as PossibleFriend;
			return possibleFriend != null && (this.hasUserName == possibleFriend.hasUserName && (!this.hasUserName || this.userName_.Equals(possibleFriend.userName_))) && (this.hasNickName == possibleFriend.hasNickName && (!this.hasNickName || this.nickName_.Equals(possibleFriend.nickName_))) && (this.hasPYInitial == possibleFriend.hasPYInitial && (!this.hasPYInitial || this.pYInitial_.Equals(possibleFriend.pYInitial_))) && (this.hasQuanPin == possibleFriend.hasQuanPin && (!this.hasQuanPin || this.quanPin_.Equals(possibleFriend.quanPin_))) && (this.hasSex == possibleFriend.hasSex && (!this.hasSex || this.sex_.Equals(possibleFriend.sex_))) && (this.hasImgFlag == possibleFriend.hasImgFlag && (!this.hasImgFlag || this.imgFlag_.Equals(possibleFriend.imgFlag_))) && (this.hasContactType == possibleFriend.hasContactType && (!this.hasContactType || this.contactType_.Equals(possibleFriend.contactType_))) && (this.hasDomainList == possibleFriend.hasDomainList && (!this.hasDomainList || this.domainList_.Equals(possibleFriend.domainList_))) && (this.hasSource == possibleFriend.hasSource && (!this.hasSource || this.source_.Equals(possibleFriend.source_))) && (this.hasFriendScene == possibleFriend.hasFriendScene && (!this.hasFriendScene || this.friendScene_.Equals(possibleFriend.friendScene_))) && (this.hasMobile == possibleFriend.hasMobile && (!this.hasMobile || this.mobile_.Equals(possibleFriend.mobile_)));
		}
		public override void PrintTo(TextWriter writer)
		{
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("UserName", this.hasUserName, this.userName_, writer);
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("NickName", this.hasNickName, this.nickName_, writer);
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("PYInitial", this.hasPYInitial, this.pYInitial_, writer);
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("QuanPin", this.hasQuanPin, this.quanPin_, writer);
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("Sex", this.hasSex, this.sex_, writer);
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("ImgFlag", this.hasImgFlag, this.imgFlag_, writer);
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("ContactType", this.hasContactType, this.contactType_, writer);
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("DomainList", this.hasDomainList, this.domainList_, writer);
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("Source", this.hasSource, this.source_, writer);
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("FriendScene", this.hasFriendScene, this.friendScene_, writer);
			GeneratedMessageLite<PossibleFriend, PossibleFriend.Builder>.PrintField("Mobile", this.hasMobile, this.mobile_, writer);
		}
		public static PossibleFriend ParseFrom(byte[] data)
		{
			return PossibleFriend.CreateBuilder().MergeFrom(data).BuildParsed();
		}
		private PossibleFriend MakeReadOnly()
		{
			return this;
		}
		public static PossibleFriend.Builder CreateBuilder()
		{
			return new PossibleFriend.Builder();
		}
		public override PossibleFriend.Builder ToBuilder()
		{
			return PossibleFriend.CreateBuilder(this);
		}
		public override PossibleFriend.Builder CreateBuilderForType()
		{
			return new PossibleFriend.Builder();
		}
		public static PossibleFriend.Builder CreateBuilder(PossibleFriend prototype)
		{
			return new PossibleFriend.Builder(prototype);
		}
		static PossibleFriend()
		{
			PossibleFriend.defaultInstance = new PossibleFriend().MakeReadOnly();
			PossibleFriend._possibleFriendFieldNames = new string[]
			{
				"ContactType",
				"DomainList",
				"FriendScene",
				"ImgFlag",
				"Mobile",
				"NickName",
				"PYInitial",
				"QuanPin",
				"Sex",
				"Source",
				"UserName"
			};
			PossibleFriend._possibleFriendFieldTags = new uint[]
			{
				56u,
				66u,
				80u,
				48u,
				90u,
				18u,
				26u,
				34u,
				40u,
				74u,
				10u
			};
			object.ReferenceEquals(micromsg.Proto.PossibleFriend.Descriptor, null);
		}
	}
}
